"""
继承
1.类名（父类）
2. 如果子类和父类有重复的方法，则会使用子类的方法

3.多重继承中 如果父类都有同一个方法，那么久会从子类本身开始找，
            按照 继承的顺序往下找： class myPhone(Phone,music):

4.super 继承父类方法
"""
class Phone:
    def __init__(self):
        self.color='red'

    def call(self):
        print("father calling")
    def sen_message(self):
        print("message")

# 继承  类名（父类）
class smartPhone(Phone):
    def call(self):
        print("smartcalling")
    def wifi(self):
        print("wifi")
# 调用父类方法
#smrt = smartPhone()
#smrt.call()


class music:
    def call(self):
        print("music")
    def music_video(self):
        print("playingmusic")

# 2. 多重继承  继承多个父类，子类可以使用 所有父类的 属性和方法
class myPhone(Phone,music):

    def mynew(self):
        print("多重继承")
# 继承多个 父类
iphone = myPhone()
iphone.music_video()
iphone.call()

# 4. super
class Sup(Phone):
    def __init__(self,age):
        # 访问父类的 init 函数里面的 实例属性  super().__init__(
        super().__init__()
        #super(Sup, self).__init__()

        self.age = age
        pass

    def call(self):
        print("在父类 call方法上 就行，添加")
        Phone.call(self)    # super().call()   表示调用父类的call


su = Sup(18)
su.call()

# 访问父类的 init 函数里面的 实例属性
# 需要super.__init()
print(su.color,su.age)